﻿namespace Cpuss
{
    /// <summary>
    /// Interface for all strategies.
    /// </summary>
    public interface IStrategy
    {
        /// <summary>
        /// Executes the strategy using the provided <see cref="Runner"/>.
        /// </summary>
        /// <param name="runner">Runner to use as execution enviroment.</param>
        void Execute(Runner runner);

        /// <summary>
        /// Returns a <see cref="string"/> that represents the current <see cref="object"/>.
        /// </summary>
        /// <returns>String representation of object.</returns>
        string ToString();
    }
}